package 复杂度;

/*
* 斐波那契数就是当前项的值等于前两项的和
* 1 2 3 4 5 6 7
* 0 1 1 2 3 5 8...
* */

public class 斐波那契数 {
    // 传入的参数是项数n
    public  int fit(int n){
        int sum = 0;
        if (n == 1 || n == 2){
            return n - 1 ;
        }else{
            int first = 0;
            int second = 1;

            for (int i = 1;i < n-1;i++) {

                sum = first + second;
                first = second;
                second = sum;
            }
        }
        return sum;
    }
//    public static int fit(int n){
//        int sum = 0;
//        int first_num = 0;
//        int second_num = 1;
//        if(n == 1){
//            sum = first_num;
//        }
//        if (n == 2){
//            sum = second_num;
//        }
//        if (n > 2){
//            sum = fit(n - 2) + fit(n - 1);
//        }
//        return sum;
//    }

    public static void main(String[] args) {
        斐波那契数 obj = new 斐波那契数();
        System.out.println(obj.fit(7));
//        System.out.println(fit(2));
//        System.out.println(fit(3));
//        System.out.println(fit(4));
//        System.out.println(fit(5));
//        System.out.println(fit(6));
//        System.out.println(fit(7));
//        System.out.println(fit(8));

    }
}
